home *** CD-ROM | disk | FTP | other *** search
- function NOF_ECM_OnStoreAction( destFormName, srcFormName, action ){
- //determine the action requested and set the destForm
- var destForm = null;
- var varsPrefix = null;
-
- NOF_SubmitHandler_OnInit(destFormName, srcFormName, action);
-
- if ( action == "AddToCart"){
- destForm = document.forms[destFormName];
- varsPrefix = "ADDTOC_";
- }else if ( action == "Buy"){
- destForm = document.forms[destFormName];
- varsPrefix = "BUY_";
- }else if ( action == "ViewCart"){
- destForm = document.forms[destFormName];
- if (destForm != null )
- NOF_StoreRPC(destForm);
- return;
- }else if ( action == "Checkout"){
- destForm = document.forms[destFormName];
- if (destForm != null )
- NOF_StoreRPC(destForm);
- return;
- }else{
- return;
- }
-
- if ( ( typeof destForm == 'object' ) && destForm != null ) {
- var srcForm = this.document.forms[srcFormName];
-
- if ( ( typeof srcForm == 'object' ) && srcForm != null ){
-
- for (i=0; i<destForm.elements.length; i++)
- destForm.elements[i].value = "";
-
- for (i=0; i<srcForm.elements.length; i++){
- var srcName = srcForm.elements[i].name;
- var dstName = NOF_getDstName(srcName, varsPrefix);
- if (dstName != null) {
- var srcProp = srcForm.elements[i];
-
- if ( ( typeof srcProp == 'object' ) && srcProp != null ) {
- if (dstName == 'actionurl') {
- if (srcProp.value) {
- destForm.action = srcProp.value;
- destForm[dstName].value = "";
- }
- } else {
- var elementType = NOF_getElementType(srcProp);
- if (elementType.indexOf('select',0) == 0) {
- if (srcProp.options && srcProp.options.length > 0)
- for (var j=0;j<srcProp.options.length;j++) {
- if (srcProp.options[j].selected == true) {
- NOF_OptionsHandler_OnSetValue(destForm,dstName, srcName, srcProp.options[j].value);
- }
- }
- } else {
- if (srcProp.value) {
- NOF_setElementValue(destForm,dstName, srcProp.value);
- }
- }
- }
- }
- }
- }
- NOF_SubmitHandler_OnFinalize(destForm, srcForm);
- NOF_StoreRPC(destForm);
- }
- }
- }
-
- function NOF_StoreRPC( destForm )
- {
- var wnd = null;
- if (destForm.target != null && destForm.target.length > 0)
- wnd = window.open('', destForm.target, 'width=655,height=524,location=1,menubar=0,resizable=1,scrollbars=1,status=1,toolbar=0');
- destForm.submit();
- if (wnd)
- wnd.focus();
- }
-
- function NOF_getDstName (srcName, varsPrefix) {
- var prefix = "";
- if (srcName.indexOf (varsPrefix) == 0) {
- prefix = varsPrefix;
- } else if (srcName.indexOf ("SHARED_") == 0) {
- prefix = "SHARED_";
- } else if (srcName.indexOf("BUY_") == 0 || srcName.indexOf("ADDTOC_") == 0 ||
- srcName.indexOf("VIEW_") == 0 || srcName.indexOf("CHECKOUT_") == 0) {
- return null;
- }
-
- return srcName.substr(prefix.length);
- }
-
- function NOF_setElementValue (form, elementName, value)
- {
- for (var i=0; i<form.elements.length; i++) {
- if ( form.elements[i].name == elementName ) {
- form.elements[i].value = value;
- break;
- }
- }
- }
-
- function NOF_getElementType (element) {
- if (element != null) {
- var elementType = element.type;
- if (elementType != null) {
- elementType = elementType.toLowerCase();
- } else {
- if (element.length > 0) {
- elementType = element[0].type;
- }
- if (elementType == null) {
- elementType = element.nodeName;
- }
- }
- } else {
- elementType = null;
- }
-
- return elementType.toLowerCase();
- }
-
- //F onInit
- function NOF_SubmitHandler_OnInit(destFormName, srcFormName, action)
- {
- if (typeof(TP_NOF_SubmitHandler_OnInit) == 'function')
- TP_NOF_SubmitHandler_OnInit( destFormName, srcFormName, action);
- }
-
- //F OnSetValue
- function NOF_OptionsHandler_OnSetValue(destForm,dstName, name, value)
- {
- if (typeof(TP_NOF_OptionsHandler_OnSetValue) == 'function')
- TP_NOF_OptionsHandler_OnSetValue( destForm,dstName, name, value);
- else
- NOF_setElementValue(destForm,dstName, value);
- }
- function NOF_SubmitHandler_OnFinalize(destForm, srcForm)
- {
- if (typeof(TP_NOF_SubmitHandler_OnFinalize) == 'function')
- TP_NOF_SubmitHandler_OnFinalize(destForm, srcForm);
-
- }